package com.zyh.zhongdian;

import java.util.Arrays;

public class Demo1 {
    public static void main(String[] args) {
        /*
        把一个数组中的元素复制到另一个新数组中去,并去重
         */
//        1.遍历数组,双重循环对比数据,如果有重复的就将后面的重复元素值改为-1
//        2.统计-1的个数,并创建一个新的数组,长度为老数组长度-count.
//        3.将原数组中不为-1的数据存到新数组newArr中
        int[] arr = {5, 3, 7, 9, 3, 0, 3, 6, 4, 7};
        for (int i = 0; i < arr.length; i++) {//外层循环遍历数组
            for (int j = i + 1; j < arr.length; j++) {//内层循环从i的后一位开始
                if (arr[i] == arr[j]) {//找到相同元素
                    arr[j] = -1;//将靠后一位的值修改为-1
                }
            }
        }
//        统计有几个-1
        int count = 0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == -1) {
                count++;
            }
        }
//        创建一个新数组newArr长度是老数组长度-count.
        int[] newArr = new int[arr.length - count];
        int index = 0;
//        将原数组arr里不为-1的数据存入新数组newArr
//        遍历老数组
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] != -1) {
                newArr[index] = arr[i];
                index++;
//                index++后就判断index的值是否到达数组的最后一位
                if (index == arr.length) {
                    break;
                }
            }
        }
//        遍历输出新数组newArr
        for (int i = 0; i < newArr.length; i++) {
            System.out.print(newArr[i] + "\t");
        }
    }
}
